home *** CD-ROM | disk | FTP | other *** search
- *** orig/gdb-4.12/gdb/getinit.c Tue Jul 26 00:14:22 1994
- --- src/gdb-4.12/gdb/getinit.c Tue Jul 26 00:52:02 1994
- ***************
- *** 0 ****
- --- 1,67 ----
- + #include <stdio.h>
- +
- + char *skips[] = {
- + "Onindy.c",
- + "nindy.c",
- + "ttyflush.c",
- + "xdr_ld.c",
- + "xdr_ptrace.c",
- + "xdr_rdb.c",
- + "udr.c",
- + "udip2soc.c",
- + "udi2go32.c",
- + "version.c",
- + "c-exp.tab.c",
- + "c-exp-tab.c",
- + "m2-exp.tab.c",
- + "m2-exp-tab.c",
- + "ch-exp.tab.c",
- + "ch-exp-tab.c",
- + 0
- + };
- +
- + main(int argc, char **argv)
- + {
- + FILE *init = fopen("init.c", "w");
- + int i, j;
- + FILE *f;
- +
- + fprintf(init, "/* Do not modify this file. It is created by getinit */\n");
- + fprintf(init, "void initialize_all_files() {\n");
- + for (i=1; i<argc; i++)
- + {
- + int skip=0;
- + char *suf = argv[i]+strlen(argv[i])-2;
- + if (strcmp(suf, ".o"))
- + continue;
- + suf[1] = 'c';
- + for (j=0; skips[j]; j++)
- + if (strcmp(argv[i], skips[j]) == 0)
- + {
- + skip = 1;
- + break;
- + }
- + if (skip)
- + continue;
- + f = fopen(argv[i], "r");
- + if (f)
- + {
- + char buf[1000];
- + while (fgets(buf, 1000, f))
- + {
- + if (strncmp(buf, "_initialize", 11) == 0)
- + {
- + char *e;
- + for (e=buf; *e && *e!=' ' && *e!='('; e++)
- + ;
- + *e = 0;
- + fprintf(init, " { extern void %s (); %s();}\n", buf, buf);
- + }
- + }
- + fclose(f);
- + }
- + }
- + fprintf(init, "}\n");
- + fclose(init);
- + return 0;
- + }
-